The present invention provides a process for the remote loading of functions between a personal computer and a memory card. It also relates to the device which permits the performance of this process.
Description of the Related Art
The memory card used is of the PCMCIA type (personal computer memory card international association).
There exist at present numerous PCMCIA cards used throughout the world. This is a memory card but also a modem/fax card, a network (ethernet) card, a security or interface card for cards with chips. These other cards are commonly called I/O (input/output) cards.
When these cards must permit remote loading of new functions or improvement of existing functions, there is added to them a flash memory. This memory is therefore associated with the conventional constituents of a PCMCIA card, namely an interface, a processor and the electronics associated with each specific function.
The document EP-A-0 419 005 relates to an apparatus and a process to load a base input/output system (BIOS) memorized in a uniformly accessible storage of a personal computer system. The personal computer system comprises a system processor, a system card, a principal random access memory, a read only memory and at least one uniformly accessible storage. The read only memory comprises a first BIOS region and data representing the type of system processor and the configuration of the input/output of the system card. The first BIOS region starts the system and the uniformly accessible storage to read a master initiating block into the system from the uniformly accessible storage. The master initiating block comprises a data segment and an executable code segment. The data segment comprises data representing the system material and a system configuration which is supported by the master initiation block. The first BIOS region confirms that the master initiation block is compatible with the system material by verifying that the data from the data segment of the master initiation block are in accord with the system processor, the system card, and the input/output system configuration. If the master initiation block is compatible with the system material, the first BIOS region directs the system processor to execute the executable code segment of the master initiation block. The executable code segment confirms that the configuration of the system has not changed and loads into the rest of the BIOS region, from the uniformly accessible storage toward the random access memory. The executable code segment then verifies the authenticity of the rest of the BIOS region and directs the system processor to begin executing the BIOS now in the random access memory. The execution of the BIOS in the random access memory then initiates the user system to commence use of the personal computer system.
This document discloses that the data loaded into the buffer memory are recopied into a random access memory. This represents the case of the conventional systems in which a program is remotely loaded into an additional memory.
The document EP-A-0 598 541 provides a control device with programmable external storage. It requires minimum intervention of a microprocessor and has greater extent and flexibility. It comprises a buffer circuit which stores a control program for data transfer in addition to the data to be transferred between one side and an external storage means, a control device which reads from the buffer circuit toward the control device in response to an instruction from the host. The control device controls the transfer of data between the host and the external storage means independently of the microprocessor such that the microprocessor can execute other tasks.
The device described uses a "programmable" program region so as to provide basis for a transfer of data between a server and a hard disk. There is no possibility for instantaneous transfer of an immediately executable program by the target. Thus, a microprogram is necessarily loaded into the buffer memory, then executed by a microprocessor which sets the parameters of the sequencer of data transfer.
The document EP-A-0 628 908 discloses a personal computer memory card international association (PCMCIA) peripheral, for example of modem, shared memory serving as an interface for a personal computer. This shared memory interface has the capability of easily programming the PCMCIA peripheral, either in the factory, or in other places. Moreover, the shared memory interface avoids the need to have an initiation code in the PCMCIA peripheral. Finally, the interface permits transferring data introduced by the user of the personal computer, particularly a data terminal, to the PCMCIA modem with a higher rate of data transfer than that now available via the universal asynchronous reception/emission integrated circuit of the modems.
This document mentions the use of a programmable memory in a PCMCIA card loaded during initiation, which is to say before onset of use. It does not disclose the possibility of loading during execution of an application, nor the possibility of having rapid loading of the direct access type to the memory. There are hence two phases. A first initiation phase in which an initiation program must be loaded before use of the product. A second initiation phase in which the double access random access memory permits transferring the data between the server and the processor. This product is hence very "open" and therefore not secure. There is no control over the contents of this program. Moreover, during the initiation phase, it is not taught that the random access memory is loaded with new executable functions.
The patent EP-A-628,908 is representative of the prior art, because the executable functions reside permanently in the PCMCIA module, or any other thing. They cannot be modified other than making an "update". This is to say that there is needed a special tool to be able to modify them. In other words, internally, there is no flash memory which is reprogrammed.
In the process according to the invention, the functions are not contained in the PCMCIA module but they are in the HOST (PC).
The fundamental difference between the two processes is therefore in the location of the functions of patent EP-A-628,908: in the permanent module (even if it is "updatable"), in the process according to the invention: in the host (the functions are only those of passage) which is the object of the present invention.